#ifndef ABSTRACTSITUATEDOBJECT_H
#define ABSTRACTSITUATEDOBJECT_H

#include <string>

class AbstractSituatedObject{
protected:
    double m_posx,m_posy;
    double m_angle;
    double m_size;
public:
    AbstractSituatedObject(double size = 0):
        m_posx(0),
        m_posy(0),
        m_angle(0),
        m_size(size){};
    inline void setPosition(double x, double y){
        m_posx = x;
        m_posy = y;
        m_angle = 0;
    }

    inline double getX(){return m_posx;}
    inline double getY(){return m_posy;}
    inline double getSize() {return m_size;}
    inline double getAngle(){return m_angle;}
    virtual ~AbstractSituatedObject(){};
    virtual std::string getType()=0;
};

#endif // ABSTRACTSITUATEDOBJECT_H
